// 声明 所有和医院列表相关的一系列接口


// 获取医院列表的请求参数的接口
export interface ReqHospitalListParams {
    page: number  //页码
    limit: number  //每页展示数量
    hoscode?: string  //医院编号
    hosname?: string  //医院名称
    hostype?: string  //医院类型
    provinceCode?: string  //省code
    cityCode?: string  // 市code
    districtCode?: string //区code
    status?: number  //医院上下线状态   【0 下线】 【1 上线】
}


//声明 预约规则的接口
export interface bookingRuleType{
    cycle: number,   //预约周期   
    releaseTime: string  //放号时间
    stopTime: string  // 放号停止时间
    quitDay: number,  //  退号周期
    quitTime: string  // 退号结束时间
    rule: string[]  //  取号地址
}

//声明医院列表的接口
export interface HospitalType{
    id: string   // 医院id
    createTime: string //医院创建时间
    updateTime: string  //医院更新时间
    isDeleted: number,  //是否删除
    param: {   //医院信息
        hostypeString: string  //医院等级：二级乙等
        fullAddress: string//医院详细地址
    },
    hoscode: string  //医院编号
    hosname: string //医院名称
    hostype: string  //医院类型 编号   
    provinceCode: string //省份code 
    cityCode: string //市 code
    districtCode: string  //区code
    address: string,  //  医院简单地址
    logoData: string   //医院logo
    intro: string   // 医院详情介绍
    route: string  //乘车路线
    status: number,  //医院上下线状态 
}

// 声明 单个医院列表的数据 的接口
export interface hospitalItemType extends  HospitalType {
    bookingRule: bookingRuleType  // 预约规则
}

//声明 复数结构 的 医院列表的数据的接口
export type hospitalListType = hospitalItemType[];


//声明  医院列表的完整的结构的 接口
export interface ReqHospitalListResponse {
    content: hospitalListType,
    totalElements: number,  //总数量
}

//声明 单个省份、市、区 / 医院类型信息的接口
export interface provinceOrCityOrDistrictOrHostypeItem {
    id: number,  //id
    createTime: string //创建时间
    updateTime: string //更新时间
    isDeleted: number,  //是否删除
    parentId: number,  // 父id
    name:string,  //名称
    value: string //  编号
    hasChildren: boolean  //是否有子节点
}

//声明 复数结构的省份的接口
export type provinceOrCityOrDistrictOrHostypeList = provinceOrCityOrDistrictOrHostypeItem[];


//声明 医院上下线请求参数的接口
export interface ReqHospitalUpdateStatusParams{
    id:string
    status:number
}


// 声明医院详情的接口
export interface HospitalShowType{
    bookingRule:bookingRuleType
    hospital:HospitalType
} 


//声明单个科室的 接口
export interface departmentItem{
    depcode:string  //科室编号
    depname:string //科室名称
    disabled ?: boolean //是否禁用
    children: null | departmentItem[]  //  二级科室
}

// 声明 复数结构 的科室 接口
export type departmentList = departmentItem[];
